package org.benjamin.lending.service;

import org.benjamin.lending.domain.entity.MemberInfo;
import org.benjamin.lending.domain.trusteeship.RequestParameter;

import java.math.BigDecimal;
import java.util.Map;

/**
 * 托管操作
 * @author 黄文杰
 *
 */
public interface TrusteeshipService {

	//#####用户类
	
	RequestParameter accountManager(String username) throws RuntimeException;

	boolean realNameAuthRequest(String username,String idNumber,String realName) throws RuntimeException;
	/**
	 * 简单充值或快速充值
	 * @param username 充值用户
	 * @param amount 充值金额
	 * @param createIp 请求用户的IP地址
	 * @return
	 * @throws RuntimeException
	 */
	RequestParameter simpleRecharge(String username, BigDecimal amount,String createIp) throws RuntimeException;

	/**
	 * 网银充值通道
	 * @param username 用户名
	 * @param amount 充值金额
	 * @param createIp 请求用户的IP地址
	 */
	RequestParameter bankRecharge(String username, BigDecimal amount, String bankCode,String createIp);
	
	/**
	 * 接触安全卡
	 * 主要针对托管的同卡进出业务进行
	 */
	void replaceBankCrad(String reason,MemberInfo memberInfo);

	String responseAsyn(Map<String, Object> responseMap, String createIp);
}
